/* eslint-disable no-console */
(function ($) {
    window.isInitialLoad = true;
    let darkModeChanged = false;

    // ================================ body 监听事件 ================================
    const observerColorTheme = new MutationObserver(mutations => {
        mutations.forEach(mutation => {
            if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
                const isDark = document.documentElement.dataset.theme === 'dark';
                darkModeChanged = window.darkMode !== isDark;
                if (window.isInitialLoad || darkModeChanged) {
                    window.darkMode = isDark;
                    console.debug('[systemInfo] 深色模式:', window.darkMode);
                }
            }
        });
    });
    observerColorTheme.observe(document.body, {
        childList: false, // 监听直接子节点的添加/删除（如图片中的URL卡片动态加载）
        subtree: false, // 监听所有后代节点的变化（包括下拉菜单的选项展开）
        attributes: true, // 监听属性变化（避免因选中项的data-*或class变化误触发）
        attributeFilter: ['class'],  // 可选：仅监听 class 属性
        characterData: false, // 监听文本内容变化（如卡片描述文字的修改无需更新指针）
    });

    /**
     * 获取当前风格模式
     */
    function getDarkMode() {
        return window.darkMode  ? 'dark' : 'light'
    }

    /**
     * 设置用户中心模态框的可访问性状态
     * @param {boolean} disabled 是否禁用模态框
     */
    function setModalAccessibilityState(disabled = false) {
        const $settingsModal = $('#settings-modal')
        if (disabled) {
            $settingsModal.attr('inert', ''); // 禁用模态框
        } else {
            $settingsModal.removeAttr('inert').attr('aria-hidden', 'false'); // 激活所有内容
        }
    }

    window.getDarkMode = getDarkMode;
    window.setModalAccessibilityState = setModalAccessibilityState;
})(window.jQuery);